using System;
using System.Xml.Serialization;

//NOTE: .NET namepaces/packages do not allow for number values ie www.rewerse.net.I1.2006.R2ML was changed to the name space below.
namespace R2ML
{
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.rewerse.net/I1/2006/R2ML")]
    [System.Xml.Serialization.XmlRootAttribute("RuleSet", Namespace = "http://www.rewerse.net/I1/2006/R2ML", IsNullable = false)]
    public class RuleSet
    {
        #region fields
        [System.Xml.Serialization.XmlElementAttribute("GenericVariable")]
        [System.Xml.Serialization.XmlElementAttribute("ObjectVariable")]
        [System.Xml.Serialization.XmlElementAttribute("DataVariable")]
        public object[] items;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string ruleSetID;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string externalVocabularyID;
        [System.Xml.Serialization.XmlAttributeAttribute()]
        public string externalVocabularyLanguage;
        #endregion

        public RuleSet()
        {
        }
        #region properties

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public object[] Items
        {
            get { return items; }
            set { items = value; }
        }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public string RuleSetID
        {
            get { return ruleSetID; }
            set { ruleSetID = value; }
        }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public string ExternalVocabularyID
        {
            get { return externalVocabularyID; }
            set { externalVocabularyID = value; }
        }

        [System.Xml.Serialization.XmlIgnoreAttribute()]
        public string ExternalVocabularyLanguage
        {
            get { return externalVocabularyLanguage; }
            set { externalVocabularyLanguage = value; }
        }
        #endregion

        #region methods

        public object[] getItems()
        {
            return items;
        }

        public void setItems(object[] param)
        {
            items = param;
        }

        public string getRuleSetID()
        {
            return ruleSetID;
        }

        public void setRuleSetID(string param)
        {
            ruleSetID = param;
        }

        public string getExternalVocabularyID()
        {
            return externalVocabularyID;
        }

        public void setExternalVocabularyID(string param)
        {
            externalVocabularyID = param;
        }

        public string getExternalVocabularyLanguage()
        {
            return externalVocabularyLanguage;
        }

        public void setExternalVocabularyLanguage(string param)
        {
            externalVocabularyLanguage = param;
        }
        #endregion
    }
}
